
const obj = {
    datas:{
        msg:'msg...'
    }
}

// 不代理，要访问msg的时候是obj.data.msg；如vue里面，自身获取msg是obj.msg，则可以通过代理实现
console.log(obj.datas.msg)


// 代理
function proxyData(obj,data){
    for(const key in data){
        Object.defineProperty(obj,key,{
            get(){
                return data[key]
            },
            set(newVal){
                data[key] = newVal
            }
        })
    }
}


//代理之后，可以通过obj.msg获取msg的值
proxyData(obj,obj.datas)
console.log(obj.msg)


